package com.jdrx.ocp.utils;

import com.jdrx.ocp.beans.entity.RoleResourcePO;
import com.jdrx.ocp.beans.entity.UserRolePO;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.CollectionUtils;

import java.util.*;

/**
 * @ClassName:Convertor
 * @Description:转换器
 * @author: yangfang
 * @date: 2017/2/20 12:27
 */
public class Convertor {

    public static List<String> conver(String arr){
        List<String> result = new ArrayList<String>();
        if (StringUtils.isBlank(arr))
            return result;
        String[] datas = arr.split(",");
        for(String s : datas){
            result.add(s);
        }
        return result;
    }

    public static List<Integer> converToInteger(String arr){
        List<Integer> result = new ArrayList<Integer>();
        if (StringUtils.isBlank(arr))
            return result;
        String[] datas = arr.split(",");
        for(String s : datas){
            result.add(Integer.valueOf(s));
        }
        return result;
    }

    /**
     * 根据角色-资源关系列表数据，返回资源ID集合（以英文逗号隔开）
     * @param datas
     * @return
     */
    public static String converToReourceIds(List<RoleResourcePO> datas){
        StringBuilder resourceIds = new StringBuilder();
        if(CollectionUtils.isEmpty(datas)){
            return resourceIds.toString();
        }
        for(RoleResourcePO t : datas){
            resourceIds.append(t.getResourceId()).append(",");
        }
        return resourceIds.toString().substring(0, resourceIds.toString().length() - 1);
    }

    /**
     * 根据用户-角色关系列表数据，返回角色ID集合（以英文逗号隔开）
     * @param datas
     * @return
     */
    public static String converToRoleIds(List<UserRolePO> datas){
        StringBuilder roleIds = new StringBuilder();
        if(CollectionUtils.isEmpty(datas)){
            return roleIds.toString();
        }
        for(UserRolePO t : datas){
            roleIds.append(t.getRoleId()).append(",");
        }
        return roleIds.toString().substring(0, roleIds.toString().length() - 1);
    }

}
